const { Op } = require('sequelize');
module.exports = {
  schedule: {
    interval: '5s', // 1 分钟间隔
    type: 'all', // 指定所有的 worker 都需要执行
  },
  async task(ctx) {
    // 查找超时10分钟未支付的订单
    const orders = await ctx.model.Business.Order.findAll({
        where: {
            status: 'pending',
            time_expire: {
                // 过期时间是否小于当前时间
                [Op.lt]: new Date(),
            },
          },
    });
    // 更新订单为取消、更新设备状态为可用
    ctx.model.Business.Order.update({
        status: 'cancelled',
    },{
      where: {
        id: {
          [Op.in]: orders.map(order => order.id),
        },
      },
    });
  },
};